package com.faker.dao;

import com.faker.core.jdbc.DataSourceChange;
import com.faker.entity.SysConnection;
import lombok.extern.slf4j.Slf4j;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Repository;

import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

@Repository
@Slf4j
public class DataGenerateDao {
    @Resource
    JdbcTemplate jdbcTemplate;

    public int startGeneration(String sql, ArrayList<Object> params) {
        log.info("执行SQL语句：" + sql);
        log.info("执行SQL参数：" + params.toString());
        int update = jdbcTemplate.update(sql, params.toArray());
        return update;
    }

    public List<Map<String, Object>> getTableDataList(String tableName, int generationNum) {
        StringBuffer sb = new StringBuffer();
        sb.append(" select * from ").append(tableName).append(" limit ").append(generationNum);
        List<Map<String, Object>> list = jdbcTemplate.queryForList(sb.toString());
        if (list.size() < generationNum) {
            // log.warn("查询的数据表" + tableName + "中，数据量不足，应生成" + generationNum + "条，实际生成" + list.size() + "条");
            log.warn("查询的数据表 {} 中，数据量不足，应生成 {} 条，实际生成 {} 条", tableName, generationNum, list.size());
        }
        return list;
    }


}
